package top.saplf.sileny.reader.shelf

/**
 * @author saplf
 */
sealed class PartialStateChanges

class FirstPageLoading : PartialStateChanges()

data class FirstPageError(
        val error: Throwable
) : PartialStateChanges()

data class FirstPageLoaded(
        val data: List<LocalBook>
) : PartialStateChanges()

class NextPageLoading : PartialStateChanges()

data class NextPageError(
        val error: Throwable
) : PartialStateChanges()

data class NextPageLoaded(
        val data: List<LocalBook>
) : PartialStateChanges()

class PullToRefreshLoading : PartialStateChanges()

data class PullToRefreshError(
        val error: Throwable
) : PartialStateChanges()

data class PullToRefreshLoaded(
        val data: List<LocalBook>
) : PartialStateChanges()
